<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QSculpt: Subdivision Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">QSculpt
   &#160;<span id="projectnumber">0.0.1a</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<div class="title">Subdivision Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="Subdivision" --><!-- doxytag: inherits="ISurface" -->
<p><code>#include &lt;<a class="el" href="_subdivision_8h_source.html">Subdivision.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for Subdivision:</div>
<div class="dyncontent">
 <div class="center">
  <img src="class_subdivision.png" usemap="#Subdivision_map" alt=""/>
  <map id="Subdivision_map" name="Subdivision_map">
<area href="class_i_surface.html" alt="ISurface" shape="rect" coords="130,0,207,24"/>
<area href="class_box.html" alt="Box" shape="rect" coords="0,112,77,136"/>
<area href="class_plane.html" alt="Plane" shape="rect" coords="87,112,164,136"/>
<area href="class_quad.html" alt="Quad" shape="rect" coords="174,112,251,136"/>
<area href="class_sphere.html" alt="Sphere" shape="rect" coords="261,112,338,136"/>
</map>
 </div></div>

<p><a href="class_subdivision-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision_1_1_edge_iterator.html">EdgeIterator</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision_1_1_face_iterator.html">FaceIterator</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_subdivision_1_1_impl.html">Impl</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision_1_1_vertex_iterator.html">VertexIterator</a></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a76204a824472f4a319cd4ac2c8351cf9"></a><!-- doxytag: member="Subdivision::Subdivision" ref="a76204a824472f4a319cd4ac2c8351cf9" args="(const Mesh *mesh)" -->
&#160;</td><td class="memItemRight" valign="bottom"><b>Subdivision</b> (const <a class="el" href="class_mesh.html">Mesh</a> *mesh)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#a6c592bbe8bc04347d2ddbe8f8697ada1">iid</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#a0949f2d5f7b0b9ebdf6ee4fd56b31923">hasChanged</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#a4986d2573fc749af728fcdddb412215e">setChanged</a> (bool val)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab576baa3ff1b9bf70474dbdbccb51db1"></a><!-- doxytag: member="Subdivision::setScene" ref="ab576baa3ff1b9bf70474dbdbccb51db1" args="(Scene *scene)" -->
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>setScene</b> (<a class="el" href="class_scene.html">Scene</a> *scene)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad336ffcfd3e43ad1cbe7bcfc4683c2c2"></a><!-- doxytag: member="Subdivision::scene" ref="ad336ffcfd3e43ad1cbe7bcfc4683c2c2" args="() const " -->
virtual <a class="el" href="class_scene.html">Scene</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>scene</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classgeometry_1_1_a_a_b_b.html">geometry::AABB</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#a4bf430f69fb34d13de266c449c350ea2">boundingBox</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#af8533079d416d887dca4b51ae7c24b1e">setColor</a> (const <a class="el" href="class_color.html">Color</a> &amp;color)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_color.html">Color</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#a8269bad5a8b7a3dd8b69753b3b46ca50">color</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#ad5338cd947c264e58a34d4acd48a700d">setSelected</a> (bool val)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#a06fde78c20ca85a1bd8c7c4e99c286b6">isSelected</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#a18a9dab1584e5f76f6626594313ff12d">addVertex</a> (const Point3 &amp;point)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#a8f96afb991cc841deebc8fda9ea410b3">addVertex</a> (<a class="el" href="class_vertex.html">Vertex</a> *v)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#a43842e328a33b1b0ef34b2187985be4b">removeVertex</a> (size_t id)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_vertex.html">Vertex</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#ab3289dee0f688d18b032760968f3c489">vertex</a> (size_t index)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="class_vertex.html">Vertex</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#a2ab101893d202e8fbee113492cb1d966">vertex</a> (size_t index) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#a984b69f5f23912f2762e070f7329b038">numVertices</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa7571bc953d174929c76123ea49fa13f"></a><!-- doxytag: member="Subdivision::addEdge" ref="aa7571bc953d174929c76123ea49fa13f" args="(const Edge &amp;edge)" -->
virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><b>addEdge</b> (const <a class="el" href="class_edge.html">Edge</a> &amp;edge)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae19dfe4fe8d3e463f30b486a484e4d84"></a><!-- doxytag: member="Subdivision::addEdge" ref="ae19dfe4fe8d3e463f30b486a484e4d84" args="(size_t v1, size_t v2)" -->
virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><b>addEdge</b> (size_t v1, size_t v2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#a8e1ad21b09b70653d6d8c5f83235ebac">addFace</a> (const QVector&lt; size_t &gt; &amp;vertexIndexList)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#ab4ec81c499d376d314010bdf48e3f06a">replaceFace</a> (size_t index, const QVector&lt; size_t &gt; &amp;vertexIndexList)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#a17456cd16a27c4620cb1821ba637d115">removeFace</a> (size_t id)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#adbfdf328d9758893dd50fe086bad7252">numFaces</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_face.html">Face</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#a96700d7b010928d7adf68da279ecbb64">face</a> (size_t index)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a76a18965a3f724ebf461d4bee035f32d"></a><!-- doxytag: member="Subdivision::getFaceIndexAtPoint" ref="a76a18965a3f724ebf461d4bee035f32d" args="(const Point3 &amp;p) const " -->
virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><b>getFaceIndexAtPoint</b> (const Point3 &amp;p) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6a216c0ee869cf697753a3a9d750d89b"></a><!-- doxytag: member="Subdivision::getClosestPointAtPoint" ref="a6a216c0ee869cf697753a3a9d750d89b" args="(const Point3 &amp;p) const " -->
virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><b>getClosestPointAtPoint</b> (const Point3 &amp;p) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab3bf192cab6a424706b3b40f39a5ae08"></a><!-- doxytag: member="Subdivision::getPointsInRadius" ref="ab3bf192cab6a424706b3b40f39a5ae08" args="(const Point3 &amp;p, float radius) const " -->
virtual QVector&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>getPointsInRadius</b> (const Point3 &amp;p, float radius) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1fbc65a3a00d1abb775926afc5e8e118"></a><!-- doxytag: member="Subdivision::adjustPointNormal" ref="a1fbc65a3a00d1abb775926afc5e8e118" args="(size_t index)" -->
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>adjustPointNormal</b> (size_t index)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a87583c2774a932368ceb13fa08128e0a"></a><!-- doxytag: member="Subdivision::lock" ref="a87583c2774a932368ceb13fa08128e0a" args="() const " -->
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>lock</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4b05994384e37bf08f5e1275d2ba938f"></a><!-- doxytag: member="Subdivision::unlock" ref="a4b05994384e37bf08f5e1275d2ba938f" args="() const " -->
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>unlock</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa1ddef2cd2ad9ca1fa6a7712ec86604b"></a><!-- doxytag: member="Subdivision::addResolutionLevel" ref="aa1ddef2cd2ad9ca1fa6a7712ec86604b" args="()" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>addResolutionLevel</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a185bff48f95a4f50c70cefed1b07b95a"></a><!-- doxytag: member="Subdivision::removeResolutionLevel" ref="a185bff48f95a4f50c70cefed1b07b95a" args="(int level)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>removeResolutionLevel</b> (int level)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a18681a09e63739831f33850d0131f263"></a><!-- doxytag: member="Subdivision::setWorkingResolutionLevel" ref="a18681a09e63739831f33850d0131f263" args="(int level)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>setWorkingResolutionLevel</b> (int level)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7fa25b88ac28356f92bb3d7785675d93"></a><!-- doxytag: member="Subdivision::workingResolutionLevel" ref="a7fa25b88ac28356f92bb3d7785675d93" args="()" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>workingResolutionLevel</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aebafaf0c31101b670f15d195e61b9647"></a><!-- doxytag: member="Subdivision::selectedPoints" ref="aebafaf0c31101b670f15d195e61b9647" args="() const " -->
virtual QVector&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>selectedPoints</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8e2add939757f204c2ff880a203e7119"></a><!-- doxytag: member="Subdivision::setSelectedPoints" ref="a8e2add939757f204c2ff880a203e7119" args="(const QVector&lt; size_t &gt; &amp;indicesArray)" -->
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>setSelectedPoints</b> (const QVector&lt; size_t &gt; &amp;indicesArray)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_iterator.html">Iterator</a>&lt; <a class="el" href="class_vertex.html">Vertex</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#a57e134c89c965fb6038f180c89bb496d">vertexIterator</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1d224b74eafc074f03d609b2e3579770"></a><!-- doxytag: member="Subdivision::constVertexIterator" ref="a1d224b74eafc074f03d609b2e3579770" args="() const " -->
virtual <a class="el" href="class_iterator.html">Iterator</a>&lt; <a class="el" href="class_vertex.html">Vertex</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>constVertexIterator</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_iterator.html">Iterator</a>&lt; <a class="el" href="class_face.html">Face</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#a7eeefe30c943e6a878edb68cd1e006d6">faceIterator</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_iterator.html">Iterator</a>&lt; <a class="el" href="class_face.html">Face</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#a7c5a364941fe1368f8671872c7d34fb7">constFaceIterator</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7abfbc06bf4a2d4dca83a9f1d8f8dd95"></a><!-- doxytag: member="Subdivision::edgeIterator" ref="a7abfbc06bf4a2d4dca83a9f1d8f8dd95" args="()" -->
virtual <a class="el" href="class_iterator.html">Iterator</a>&lt; <a class="el" href="class_edge.html">Edge</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>edgeIterator</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a378eaeb879b7f55b99212f08b77ee5e9"></a><!-- doxytag: member="Subdivision::constEdgeIterator" ref="a378eaeb879b7f55b99212f08b77ee5e9" args="() const " -->
virtual <a class="el" href="class_iterator.html">Iterator</a>&lt; <a class="el" href="class_edge.html">Edge</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>constEdgeIterator</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a890f5ef8f1201db33dfb445a764bae93"></a><!-- doxytag: member="Subdivision::vertexIterator" ref="a890f5ef8f1201db33dfb445a764bae93" args="(int level)" -->
<a class="el" href="class_iterator.html">Iterator</a>&lt; <a class="el" href="class_vertex.html">Vertex</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>vertexIterator</b> (int level)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae48ddb143817f567ecd0fadca80aca5c"></a><!-- doxytag: member="Subdivision::constVertexIterator" ref="ae48ddb143817f567ecd0fadca80aca5c" args="(int level) const " -->
<a class="el" href="class_iterator.html">Iterator</a>&lt; <a class="el" href="class_vertex.html">Vertex</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>constVertexIterator</b> (int level) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac6db102d6458aaeb2a1d131003184996"></a><!-- doxytag: member="Subdivision::faceIterator" ref="ac6db102d6458aaeb2a1d131003184996" args="(int level)" -->
<a class="el" href="class_iterator.html">Iterator</a>&lt; <a class="el" href="class_face.html">Face</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>faceIterator</b> (int level)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2d61172c6b9e621b605b4992d8712ab0"></a><!-- doxytag: member="Subdivision::constFaceIterator" ref="a2d61172c6b9e621b605b4992d8712ab0" args="(int level) const " -->
<a class="el" href="class_iterator.html">Iterator</a>&lt; <a class="el" href="class_face.html">Face</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>constFaceIterator</b> (int level) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#a8f5328bb66c0fff0d74b60240b168b02">printMemoryInfo</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_mesh.html">Mesh</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#a147517dc26d384bd354fca5f93223654">convertToMesh</a> (int level=-1)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#ac754965dbbaf1ed9e0e015123ffe2ee8">convertFromMesh</a> (const <a class="el" href="class_mesh.html">Mesh</a> *mesh)</td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_subdivision.html#a14ac66e7dbd38389f1b97b188625bb8f">initPoints</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2b76d29df11c0ed233f4da412dabc712"></a><!-- doxytag: member="Subdivision::addEdge" ref="a2b76d29df11c0ed233f4da412dabc712" args="(Vertex *v1, Vertex *v2)" -->
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>addEdge</b> (<a class="el" href="class_vertex.html">Vertex</a> *v1, <a class="el" href="class_vertex.html">Vertex</a> *v2)</td></tr>
<tr><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac54aeb14d596a9d60aecfac7deade8c2"></a><!-- doxytag: member="Subdivision::VertexIterator" ref="ac54aeb14d596a9d60aecfac7deade8c2" args="" -->
class&#160;</td><td class="memItemRight" valign="bottom"><b>VertexIterator</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0465315dba883d93122873f15eb39c0d"></a><!-- doxytag: member="Subdivision::FaceIterator" ref="a0465315dba883d93122873f15eb39c0d" args="" -->
class&#160;</td><td class="memItemRight" valign="bottom"><b>FaceIterator</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a265a85b438f4a316627f37c1c2d442e8"></a><!-- doxytag: member="Subdivision::EdgeIterator" ref="a265a85b438f4a316627f37c1c2d442e8" args="" -->
class&#160;</td><td class="memItemRight" valign="bottom"><b>EdgeIterator</b></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Class that implement subdivision surfaces. </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a8e1ad21b09b70653d6d8c5f83235ebac"></a><!-- doxytag: member="Subdivision::addFace" ref="a8e1ad21b09b70653d6d8c5f83235ebac" args="(const QVector&lt; size_t &gt; &amp;vertexIndexList)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t Subdivision::addFace </td>
          <td>(</td>
          <td class="paramtype">const QVector&lt; size_t &gt; &amp;&#160;</td>
          <td class="paramname"><em>vertexIndexes</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Add a triangle to the object. The triangle is formed by the vertices passed as arguments. The vertices are passed by means of their ID</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">v1</td><td>id of the first vertex that form the triangle. </td></tr>
    <tr><td class="paramname">v2</td><td>id of the first vertex that form the triangle. </td></tr>
    <tr><td class="paramname">v3</td><td>id of the first vertex that form the triangle.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>triangle ID </dd></dl>

<p>Implements <a class="el" href="class_i_surface.html#a3a8c2686ce030b53fe40d9c5c1235046">ISurface</a>.</p>

</div>
</div>
<a class="anchor" id="a18a9dab1584e5f76f6626594313ff12d"></a><!-- doxytag: member="Subdivision::addVertex" ref="a18a9dab1584e5f76f6626594313ff12d" args="(const Point3 &amp;point)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t Subdivision::addVertex </td>
          <td>(</td>
          <td class="paramtype">const Point3 &amp;&#160;</td>
          <td class="paramname"><em>point</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Add point to object. The point added is in local coordinates ( i.e. relative to object's origin.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">point</td><td>point to add to the object. The point is in local coords.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>ID of the new point. </dd></dl>

<p>Implements <a class="el" href="class_i_surface.html#a7e75193d5d130a68cff4cf99498ed23a">ISurface</a>.</p>

</div>
</div>
<a class="anchor" id="a8f96afb991cc841deebc8fda9ea410b3"></a><!-- doxytag: member="Subdivision::addVertex" ref="a8f96afb991cc841deebc8fda9ea410b3" args="(Vertex *v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t Subdivision::addVertex </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_vertex.html">Vertex</a> *&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Add vertex v to this object. The object will mantain the reference to the vertex. Do not delete the vertex while the object has a reference to it.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">v</td><td>vertex to add to the object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the id of the vertex inside the object. </dd></dl>

<p>Implements <a class="el" href="class_i_surface.html#a251ae42a8041362cc406610abf0ce198">ISurface</a>.</p>

</div>
</div>
<a class="anchor" id="a4bf430f69fb34d13de266c449c350ea2"></a><!-- doxytag: member="Subdivision::boundingBox" ref="a4bf430f69fb34d13de266c449c350ea2" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classgeometry_1_1_a_a_b_b.html">geometry::AABB</a> &amp; Subdivision::boundingBox </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the bounding box of the object. </p>

<p>Implements <a class="el" href="class_i_surface.html#a889365120e24bac514f1d437f3d13531">ISurface</a>.</p>

</div>
</div>
<a class="anchor" id="a8269bad5a8b7a3dd8b69753b3b46ca50"></a><!-- doxytag: member="Subdivision::color" ref="a8269bad5a8b7a3dd8b69753b3b46ca50" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_color.html">Color</a> Subdivision::color </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Gets the object base color. Used as vertex color, line color, shading color, etc.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>color of the object. </dd></dl>

<p>Implements <a class="el" href="class_i_surface.html#a0553f349f4fe8b9e0752fe01e422df35">ISurface</a>.</p>

</div>
</div>
<a class="anchor" id="a7c5a364941fe1368f8671872c7d34fb7"></a><!-- doxytag: member="Subdivision::constFaceIterator" ref="a7c5a364941fe1368f8671872c7d34fb7" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_iterator.html">Iterator</a>&lt; <a class="el" href="class_face.html">Face</a> &gt; Subdivision::constFaceIterator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return a const iterator over the faces that contained in this object. </p>

<p>Implements <a class="el" href="class_i_surface.html#a67a32caec0e8d348a10eecf6f7c2c3a4">ISurface</a>.</p>

</div>
</div>
<a class="anchor" id="ac754965dbbaf1ed9e0e015123ffe2ee8"></a><!-- doxytag: member="Subdivision::convertFromMesh" ref="ac754965dbbaf1ed9e0e015123ffe2ee8" args="(const Mesh *mesh)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Subdivision::convertFromMesh </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_mesh.html">Mesh</a> *&#160;</td>
          <td class="paramname"><em>mesh</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Uses mesh as base mesh for this subdivision surface.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">mesh</td><td>mesh to convert from. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a147517dc26d384bd354fca5f93223654"></a><!-- doxytag: member="Subdivision::convertToMesh" ref="a147517dc26d384bd354fca5f93223654" args="(int level=&#45;1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_mesh.html">Mesh</a> * Subdivision::convertToMesh </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>level</em> = <code>-1</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Convert subdivision surface to a regular <a class="el" href="class_mesh.html">Mesh</a>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">level</td><td>level of the surface to convert to mesh. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a96700d7b010928d7adf68da279ecbb64"></a><!-- doxytag: member="Subdivision::face" ref="a96700d7b010928d7adf68da279ecbb64" args="(size_t index)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_face.html">Face</a> * Subdivision::face </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the face at the position index. </p>

<p>Implements <a class="el" href="class_i_surface.html#a2bffda91521930b47acaec4990afed66">ISurface</a>.</p>

</div>
</div>
<a class="anchor" id="a7eeefe30c943e6a878edb68cd1e006d6"></a><!-- doxytag: member="Subdivision::faceIterator" ref="a7eeefe30c943e6a878edb68cd1e006d6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_iterator.html">Iterator</a>&lt; <a class="el" href="class_face.html">Face</a> &gt; Subdivision::faceIterator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns a face iterator to traverse over all the faces of this object. </p>

<p>Implements <a class="el" href="class_i_surface.html#a42b6325545e89a172a7d0585b9f03f2d">ISurface</a>.</p>

</div>
</div>
<a class="anchor" id="a0949f2d5f7b0b9ebdf6ee4fd56b31923"></a><!-- doxytag: member="Subdivision::hasChanged" ref="a0949f2d5f7b0b9ebdf6ee4fd56b31923" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Subdivision::hasChanged </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Flag to check if the surface has been modified. </p>

<p>Implements <a class="el" href="class_i_surface.html#a6e0d4a5e3fcc3d79d02ed7924fb7faee">ISurface</a>.</p>

</div>
</div>
<a class="anchor" id="a6c592bbe8bc04347d2ddbe8f8697ada1"></a><!-- doxytag: member="Subdivision::iid" ref="a6c592bbe8bc04347d2ddbe8f8697ada1" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t Subdivision::iid </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Instance id of the surface </p>

<p>Implements <a class="el" href="class_i_surface.html#a419eea3eaca51c031d9b78265f48631e">ISurface</a>.</p>

</div>
</div>
<a class="anchor" id="a14ac66e7dbd38389f1b97b188625bb8f"></a><!-- doxytag: member="Subdivision::initPoints" ref="a14ac66e7dbd38389f1b97b188625bb8f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Subdivision::initPoints </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Initializes the points vector. </p>

<p>Reimplemented in <a class="el" href="class_quad.html#a60a993506197c1d2c358de08dcbe534b">Quad</a>, <a class="el" href="class_box.html#ae17d0e60184c658793dfcf356575c3d5">Box</a>, and <a class="el" href="class_sphere.html#ad9a2358b193bcfe0771366695624a7b3">Sphere</a>.</p>

</div>
</div>
<a class="anchor" id="a06fde78c20ca85a1bd8c7c4e99c286b6"></a><!-- doxytag: member="Subdivision::isSelected" ref="a06fde78c20ca85a1bd8c7c4e99c286b6" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Subdivision::isSelected </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the selected state of the object.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if the object is selected, otherwise, false. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_subdivision.html#ad5338cd947c264e58a34d4acd48a700d">setSelected</a> </dd></dl>

<p>Implements <a class="el" href="class_i_surface.html#a62c36e72a939cc47af4fb7f5a8e7129b">ISurface</a>.</p>

</div>
</div>
<a class="anchor" id="adbfdf328d9758893dd50fe086bad7252"></a><!-- doxytag: member="Subdivision::numFaces" ref="adbfdf328d9758893dd50fe086bad7252" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t Subdivision::numFaces </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the number of faces that the object has.</p>
<p>TODO: This may not belong here as is specific to mesh surfaces. </p>

<p>Implements <a class="el" href="class_i_surface.html#a0970ffe01db8cfacabf260231db43e79">ISurface</a>.</p>

</div>
</div>
<a class="anchor" id="a984b69f5f23912f2762e070f7329b038"></a><!-- doxytag: member="Subdivision::numVertices" ref="a984b69f5f23912f2762e070f7329b038" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t Subdivision::numVertices </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Gets the number of vertices </p>

<p>Implements <a class="el" href="class_i_surface.html#ad6ddd94c54fd415bac6bf17d5db6fc0a">ISurface</a>.</p>

</div>
</div>
<a class="anchor" id="a8f5328bb66c0fff0d74b60240b168b02"></a><!-- doxytag: member="Subdivision::printMemoryInfo" ref="a8f5328bb66c0fff0d74b60240b168b02" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Subdivision::printMemoryInfo </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Debugging function used to print the memory usage of this object. </p>

</div>
</div>
<a class="anchor" id="a17456cd16a27c4620cb1821ba637d115"></a><!-- doxytag: member="Subdivision::removeFace" ref="a17456cd16a27c4620cb1821ba637d115" args="(size_t id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Subdivision::removeFace </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>id</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Remove the triangle from the object. The points or vertices that compound the triangle are not removed from the object. The points could be rendered acording to the drawing mode.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">id</td><td>triangle ID to remove. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_i_surface.html#a61483ac0eed9ce967f24c330aaa4321c">ISurface</a>.</p>

</div>
</div>
<a class="anchor" id="a43842e328a33b1b0ef34b2187985be4b"></a><!-- doxytag: member="Subdivision::removeVertex" ref="a43842e328a33b1b0ef34b2187985be4b" args="(size_t id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Subdivision::removeVertex </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>id</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Remove a point from the object. If the point form part of a triangle then that triangle should be removed from the object.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">id</td><td>ID of the point to delete. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_i_surface.html#a403cf8cca0dfcc43965a000405ce5e0c">ISurface</a>.</p>

</div>
</div>
<a class="anchor" id="ab4ec81c499d376d314010bdf48e3f06a"></a><!-- doxytag: member="Subdivision::replaceFace" ref="ab4ec81c499d376d314010bdf48e3f06a" args="(size_t index, const QVector&lt; size_t &gt; &amp;vertexIndexList)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Subdivision::replaceFace </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const QVector&lt; size_t &gt; &amp;&#160;</td>
          <td class="paramname"><em>vertexIndexList</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Replace a triangle with new indices to existing points. </p>

<p>Implements <a class="el" href="class_i_surface.html#a725c3b6e08bae17a345d6ac428cb862a">ISurface</a>.</p>

</div>
</div>
<a class="anchor" id="a4986d2573fc749af728fcdddb412215e"></a><!-- doxytag: member="Subdivision::setChanged" ref="a4986d2573fc749af728fcdddb412215e" args="(bool val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Subdivision::setChanged </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sets a flag to mark the surface as modified. </p>

<p>Implements <a class="el" href="class_i_surface.html#af76ece8998133ea0151f1d899ab09235">ISurface</a>.</p>

</div>
</div>
<a class="anchor" id="af8533079d416d887dca4b51ae7c24b1e"></a><!-- doxytag: member="Subdivision::setColor" ref="af8533079d416d887dca4b51ae7c24b1e" args="(const Color &amp;color)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Subdivision::setColor </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_color.html">Color</a> &amp;&#160;</td>
          <td class="paramname"><em>color</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sets the object base color. Used as vertex color, line color, shading color, etc.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">color</td><td>color of the object. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_i_surface.html#af199f348a53404b2a9afe4d53320967d">ISurface</a>.</p>

</div>
</div>
<a class="anchor" id="ad5338cd947c264e58a34d4acd48a700d"></a><!-- doxytag: member="Subdivision::setSelected" ref="ad5338cd947c264e58a34d4acd48a700d" args="(bool val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Subdivision::setSelected </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Mark the object as selected. This property is used by the renderers to mark selected objects (for example draw a bounding box around the object)</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">val</td><td>pass true to set the object as selected </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="class_i_surface.html#a308ae3492b08adf81eb71603cc9c9e77">ISurface</a>.</p>

</div>
</div>
<a class="anchor" id="ab3289dee0f688d18b032760968f3c489"></a><!-- doxytag: member="Subdivision::vertex" ref="ab3289dee0f688d18b032760968f3c489" args="(size_t index)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_vertex.html">Vertex</a> * Subdivision::vertex </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>iid</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the vertex with the instance ID iid. </p>

<p>Implements <a class="el" href="class_i_surface.html#a5776c72d4f1c81b18e2d54d3b0becdb7">ISurface</a>.</p>

</div>
</div>
<a class="anchor" id="a2ab101893d202e8fbee113492cb1d966"></a><!-- doxytag: member="Subdivision::vertex" ref="a2ab101893d202e8fbee113492cb1d966" args="(size_t index) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="class_vertex.html">Vertex</a> * Subdivision::vertex </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>iid</em></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the vertex with the instance ID iid. </p>

<p>Implements <a class="el" href="class_i_surface.html#ae72da7c2999fdcd7ae93832c6ed419f7">ISurface</a>.</p>

</div>
</div>
<a class="anchor" id="a57e134c89c965fb6038f180c89bb496d"></a><!-- doxytag: member="Subdivision::vertexIterator" ref="a57e134c89c965fb6038f180c89bb496d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_iterator.html">Iterator</a>&lt; <a class="el" href="class_vertex.html">Vertex</a> &gt; Subdivision::vertexIterator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns a vertex iterator to traverse over all the vertices in this object. </p>

<p>Implements <a class="el" href="class_i_surface.html#a852184671d98db33f9160b40f5aa5e76">ISurface</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>engine/include/subdivision/<a class="el" href="_subdivision_8h_source.html">Subdivision.h</a></li>
<li>engine/src/Mesh.cpp</li>
<li>engine/src/subdivision/Subdivision.cpp</li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>



<hr class="footer"/><address class="footer"><small>
Generated on Thu May 31 2012 16:19:52 for QSculpt by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>

</body>
</html>
